//隐藏内部实
//  function fn(){ // 最小暴露原则
//  var a=1
//  var b=2
//  return c=a+b
// }
// fn() //3


//  var b
//  function foo(a){
//     b=a+bar(a*2) // b=5
//     console.log(b*3) // 15
//  }
//  function bar(a){
// return a-1
//  }
//  foo(2)

 //更合理的写法
 
// function foo (a){
// var b 
// function bar(a){
//     return a-1
// }
//     b=a+bar(a*2)
//     console.log(b*3);
// }
// foo(2)

//规避冲突
function foo (){

function bar(a){
  i=3
 //var i=3
 console.log(a+i)
}
   for(var i=0;i<10;i++){
    bar(i * 2) // 无限循环了
   }
}
foo()